/*
 * Peralta Santa Anna Victor Miguel
 * Diciembre 2011
 * Stored Procedure:
 *
 * Añadimos una nueva vacante asociada a una empresa
 */

CREATE OR REPLACE FUNCTION addVacante
	(
		nidusuario 				INTEGER,
 		stitulovacante      	VARCHAR,
 		sdescripcion 			VARCHAR,
 		sprofesionalesbuscados 	VARCHAR,
 		srequisitos 			VARCHAR,
 		sofrecen 				VARCHAR,
 		dfechapublicacion  		DATE,
 		sinformacion            VARCHAR,
 		snombrecompletocontacto VARCHAR,
 		scorreo                 VARCHAR,
 		stelefono               VARCHAR,
 		nlatitud                DECIMAL,
 		nlongitud               DECIMAL,
 		bBeca					BOOLEAN,
		bPracticasProfesionales	BOOLEAN,
 		bactivado               BOOLEAN

	) RETURNS INTEGER AS $$
	
	DECLARE llave INTEGER;
	
	BEGIN
	
		INSERT INTO VACANTES 
		( stitulovacante, sdescripcion, sprofesionalesbuscados, srequisitos, sofrecen,
		dfechapublicacion, sinformacion, snombrecompletocontacto, scorreo, stelefono,
		nlatitud, nlongitud, bBeca, bPracticasProfesionales, bactivado )
		
		VALUES ( stitulovacante, sdescripcion, sprofesionalesbuscados, srequisitos, sofrecen,
		dfechapublicacion, sinformacion, snombrecompletocontacto, scorreo, stelefono,
		nlatitud, nlongitud,  bBeca, bPracticasProfesionales, bactivado )
		
		RETURNING nidvacante INTO llave;
		
		INSERT INTO EMPRESAVACANTES
		VALUES ( nidusuario, llave );
		
		RETURN llave;
		
		COMMIT;
		
	END;
	
$$ LANGUAGE plpgsql;

--select addVacante(3, 'stitulovacante', 'sdescripcion de la vacante', 'sprofesionalesbuscados', 'srequisitos',  'sofrecen', '02/18/1989', 'sinformacion', 'snombrecompletocontacto', 'scorreo', 'stelefono', 0.0, 0.0, FALSE, FALSE, FALSE );

